The present invention relates generally to methods and apparatus for managing heterogeneous storage devices, and more particularly to a system that facilitates the updating of a management device interfaced with a managed device.
Network computing systems typically require a variety of devices to construct and maintain a working storage system. In addition, companies with large networks typically have a number of different storage systems, many of which are manufactured by different companies and/or run on different versions of operating software. Storage system devices may include, but are not limited to, host adapters, I/O chips, disk enclosures, and bridge controllers, to name a few.
Each of these components traditionally is managed by proprietary software that is supplied by its manufacturer. In addition, there are a number of third parties which have developed network management frameworks, such as HEWLETT-PACKARD's OPENVIEW, IBM's NETFINITY, and COMPUTER ASSOCIATES' UNICENTER.
As a result of there being more than one third party framework, it is difficult to provide a cohesive system that can track the changes that are made to the configuration or properties of a device that interfaces with the different frameworks. Oftentimes, a downstream or managed device can be controlled by several managing units, however, the managing units do not communicate with one another. Thus, there is a need for a system that allows a managed device to update the various devices that manage it whenever a change in the managed device's configuration or properties occur, e.g., an update of a HEWLETT PACKARD OPENVIEW management device or a management station defined herein after an IBM NETFINITY management device changes a disk array's properties.
In systems in which management devices are able to communicate with one another, systems can still be unwieldy and difficult to manage. This is due to the fact that a change initiated by one management device to a managed device, such as a change to a configuration of a disk array, must then be communicated to every other management device that interfaces with that disk array. This requires a great deal of duplication of business logic since the business logic will be needed at every management device. Hence, there is a need for a simpler system that can accomplish the updating of management devices and that can simplify the amount of business logic required in the management domain, especially at management devices.
Another problem with existing systems is that when a management device issues a command to a device that it manages, it must then wait for a confirmation from the device being managed that the task has been completed. This can slow down the speed of the system. Hence, there is a need for a system that allows a management device to issue a management command, but still be able to process other functions while waiting for the command to complete.